
package org.darcy.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.darcy.framework.model.PageParam;
import org.darcy.entity.SysUser;

@ApiModel("用户: SysUserModel")
@Getter
@Setter
public class SysUserModel extends PageParam implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@ApiModelProperty(value = "")
	private Long id;

	@ApiModelProperty(value = "")
	private String username;

	@ApiModelProperty(value = "登录密码")
	private String password;

	@ApiModelProperty(value = "昵称")
	private String nickname;

	@ApiModelProperty(value = "手机号")
	private String mobile;

	@ApiModelProperty(value = "邮箱地址")
	private String email;

	@ApiModelProperty(value = "QQ")
	private String qq;

	@ApiModelProperty(value = "生日")
	private Date birthday;

	@ApiModelProperty(value = "性别")
	private Integer gender;

	@ApiModelProperty(value = "头像地址")
	private String avatar;

	@ApiModelProperty(value = "超级管理员、管理员、普通用户")
	private String userType;

	@ApiModelProperty(value = "公司")
	private String company;

	@ApiModelProperty(value = "个人博客地址")
	private String blog;

	@ApiModelProperty(value = "地址")
	private String location;

	@ApiModelProperty(value = "用户来源")
	private String source;

	@ApiModelProperty(value = "用户唯一表示(第三方网站)")
	private String uuid;

	@ApiModelProperty(value = "隐私（1：公开，0：不公开）")
	private Byte privacy;

	@ApiModelProperty(value = "通知：(1：通知显示消息详情，2：通知不显示详情)")
	private Byte notification;

	@ApiModelProperty(value = "金币值")
	private Integer score;

	@ApiModelProperty(value = "经验值")
	private Integer experience;

	@ApiModelProperty(value = "注册IP")
	private String regIp;

	@ApiModelProperty(value = "最近登录IP")
	private String lastLoginIp;

	@ApiModelProperty(value = "最近登录时间")
	private Date lastLoginTime;

	@ApiModelProperty(value = "登录次数")
	private Integer loginCount;

	@ApiModelProperty(value = "用户备注")
	private String remark;

	@ApiModelProperty(value = "用户状态")
	private Integer status;

	@ApiModelProperty(value = "注册时间")
	private Date createTime;

	@ApiModelProperty(value = "更新时间")
	private Date updateTime;

	/**
	 * model类转化为mybatis plus 查询条件
	 */
	public QueryWrapper<SysUser> buildWrapper() {
		QueryWrapper<SysUser> p = new QueryWrapper<SysUser>();
		return p;
	}

	@ApiModelProperty(value = "注册提示编码")
	private Integer registerCode;

	@ApiModelProperty(value = "注册提示信息")
	private String registerMsg;

}
